package com.hn.shopadmin.service;

import com.github.pagehelper.PageInfo;
import com.hn.kiss.modules.sys.shopcommon.common.ParmException;
import com.hn.kiss.modules.sys.shopdb.entity.Jurisdiction;

/**
 * 权限管理业务接口
 */
public interface JurisdictionService {
    /**
     * 一级权限添加
     * @param url
     * @param describes
     * @return
     */
    int insertParent(String url, String describes) throws ParmException;

    /**
     * 子权限添加
     * @param url
     * @param parentId
     * @param describes
     * @return
     */
    int insertChild(String url, String parentId, String describes) throws ParmException;

    /**
     * 权限信息修改
     * @param id
     * @param url
     * @param describes
     * @return
     */
    int update(String id, String url, String describes) throws ParmException;

    /**
     * 删除子资源
     * @param id
     * @return
     */
    int deleteChild(String id);

    /**
     * 删除一级权限,以及其子权限
     * @param id
     * @return
     */
    int deletePrent(String id);

    /**
     * 通过id或权限信息
     * @param id
     * @return
     */
    Jurisdiction getById(String id);

    /**
     * 权限信息分页列表
     * @param page
     * @param limit
     * @param parentId
     * @param keywork url/describes
     * @return
     */
    PageInfo<Jurisdiction> listPage(Integer page, Integer limit, String parentId, String keywork);

    /**
     * 校验url是否重复
     * @param parentId
     * @param url
     * @return
     */
    boolean validatorUrl(String parentId, String url);
}
